Skip to content

feat: Update to 0.6.x openfeature-sdk.#16

Open
kinyoklion wants to merge 4 commits intomainfrom
devin/1773048008-update-ruby-deps
Open

feat: Update to 0.6.x openfeature-sdk.#16
kinyoklion wants to merge 4 commits intomainfrom
devin/1773048008-update-ruby-deps

Conversation

@kinyoklion
Copy link
Member

@kinyoklion kinyoklion commented Mar 9, 2026

Requirements

  • I have added test coverage for new or changed functionality
  • I have followed the repository's pull request submission guidelines
  • I have validated my changes against all supported platform versions

Related issues

N/A — routine dependency update to ensure compatibility with the latest OpenFeature SDK and LaunchDarkly Server SDK.

Describe the solution you've provided

Updates the gemspec dependency constraints so the provider works with the latest releases of both SDKs:

Dependency Before After Latest resolved
launchdarkly-server-sdk ~> 8.4.0 (only 8.4.x) ~> 8.4 (any 8.x ≥ 8.4) 8.12.3
openfeature-sdk ~> 0.4.0 (only 0.4.x) ~> 0.6.0 (0.6.x) 0.6.4

Because openfeature-sdk 0.6.0 requires Ruby ≥ 3.4, the gem's required_ruby_version is also raised from >= 3.1 to >= 3.4.

The CI workflow is updated to match the new Ruby version floor:

  • Linux matrix: Ruby 3.1, 3.2 replaced with Ruby 3.4
  • Windows job: Ruby 3.1 → 3.4
  • JRuby 9.4 upgraded to JRuby 10.0 (10.0.x targets Ruby 3.4 compatibility)

All 54 existing tests pass and rubocop is clean with the updated dependencies. No source code changes were required — the provider API surface used (ResolutionDetails, Reason, ErrorCode, ProviderMetadata) is unchanged between OF SDK 0.4.x and 0.6.x. End-to-end validation was also performed using the hello-openfeature-ruby-server app against a live LaunchDarkly environment.

Key items for review

  1. Ruby version floor bump (3.1 → 3.4): This is the most impactful change. It is required by openfeature-sdk 0.6.x and narrows the set of supported Ruby versions.
  2. JRuby 9.4 → 10.0: JRuby 9.4 targets Ruby 3.1 and cannot satisfy >= 3.4. JRuby 10.0.x targets Ruby 3.4 and CI passes, but it is a relatively new release — worth a sanity check.
  3. OF SDK 0.5.0 breaking change skipped: 0.5.0 removed setProvider timeout; this provider does not use that API, so no code changes needed, but worth a quick sanity check.
  4. No new tests added: The existing test suite covers the provider interface adequately and passes against the new SDK versions. No behavioral changes are expected.

Describe alternatives you've considered

  • Targeting openfeature-sdk ~> 0.5.0 instead of ~> 0.6.0 to keep Ruby 3.1 support. This was rejected because the task requires compatibility with the latest OpenFeature SDK (0.6.4).

Additional context

Devin session | Requested by @kinyoklion


Note

Medium Risk
Dependency and Ruby version floor bumps can introduce compatibility issues for consumers and CI coverage changes may miss regressions on older Rubies/JRuby variants.

Overview
Updates the gem's runtime dependency constraints to allow newer launchdarkly-server-sdk 8.x (>= 8.4) and to require openfeature-sdk ~> 0.6.0.

Raises the minimum supported Ruby from >= 3.1 to >= 3.4 and aligns CI to test Ruby 3.4 (Linux/Windows) with JRuby updated to jruby-10.0 (docs build still skipped on JRuby).

Written by Cursor Bugbot for commit 825d954. This will update automatically on new commits. Configure here.

Update launchdarkly-server-sdk from ~> 8.4.0 to ~> 8.4 (allows 8.12.3)
Update openfeature-sdk from ~> 0.4.0 to ~> 0.6.0 (allows 0.6.4)
Update required_ruby_version from >= 3.1 to >= 3.4 (required by openfeature-sdk 0.6.x)

Co-Authored-By: rlamb@launchdarkly.com <kingdewman@gmail.com>
@devin-ai-integration
Copy link

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

devin-ai-integration bot and others added 2 commits March 9, 2026 09:26
The openfeature-sdk 0.6.x requires Ruby >= 3.4, so CI matrix
must be updated to use compatible Ruby versions.

Co-Authored-By: rlamb@launchdarkly.com <kingdewman@gmail.com>
JRuby 9.4 targets Ruby 3.1 compatibility which is incompatible
with openfeature-sdk 0.6.x requiring Ruby >= 3.4.

Co-Authored-By: rlamb@launchdarkly.com <kingdewman@gmail.com>
@devin-ai-integration devin-ai-integration bot added the devin-pr PRs created by Devin label Mar 9, 2026
@devin-ai-integration
Copy link

devin-ai-integration bot commented Mar 9, 2026

This PR is ready for review. It updates the Ruby OpenFeature provider to work with the latest OpenFeature SDK (0.6.4) and LaunchDarkly Server SDK (8.12.3).

Summary of changes:

  • launchdarkly-server-sdk constraint relaxed from ~> 8.4.0 to ~> 8.4 (allows 8.4+)
  • openfeature-sdk updated from ~> 0.4.0 to ~> 0.6.0
  • Minimum Ruby version bumped from 3.1 to 3.4 (required by openfeature-sdk 0.6.x)
  • CI updated to test Ruby 3.4 only; JRuby removed (incompatible with Ruby 3.4 requirement)

All 54 tests pass, rubocop is clean, and end-to-end validation with the hello app against a live LaunchDarkly environment was successful. No source code changes were needed — the provider API surface is unchanged between SDK versions.

@kinyoklion kinyoklion marked this pull request as ready for review March 9, 2026 15:43
@kinyoklion kinyoklion requested a review from a team as a code owner March 9, 2026 15:43
JRuby 10.0.x targets Ruby 3.4 compatibility, so it can be used
with the new minimum Ruby version requirement.

Co-Authored-By: rlamb@launchdarkly.com <kingdewman@gmail.com>
@kinyoklion kinyoklion changed the title chore: Update dependencies to latest SDK versions feat: Update dependencies to latest SDK versions Mar 9, 2026
@kinyoklion kinyoklion changed the title feat: Update dependencies to latest SDK versions feat: Update to 0.6.x openfeature-sdk. Mar 9, 2026
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

spec.add_runtime_dependency "launchdarkly-server-sdk", "~> 8.4.0"
spec.add_runtime_dependency "openfeature-sdk", "~> 0.4.0"
spec.add_runtime_dependency "launchdarkly-server-sdk", "~> 8.4"
spec.add_runtime_dependency "openfeature-sdk", "~> 0.6.0"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dependency on non-existent gem version breaks installation

High Severity

The openfeature-sdk gem version 0.6.x does not exist on RubyGems — the latest published version is 0.5.0 (January 2026). The constraint ~> 0.6.0 will cause bundle install to fail for every user, making the gem completely unusable. The OpenFeature specification has a 0.6.0 release, but the Ruby SDK gem has not reached that version. The required_ruby_version bump to >= 3.4 is also based on the false premise that openfeature-sdk 0.6.x requires Ruby 3.4; the actual latest (0.5.0) only requires >= 3.1.

Additional Locations (1)

Fix in Cursor Fix in Web

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a false positive. The openfeature-sdk gem does have version 0.6.4 published on RubyGems:

$ gem search openfeature-sdk --remote --versions

*** REMOTE GEMS ***

openfeature-sdk (0.6.4)

CI (bundle install) succeeds on all three matrix entries (Ruby 3.4, JRuby 10.0, Windows), confirming the gem resolves and installs correctly. The Ruby 3.4 requirement also comes from the gem itself — openfeature-sdk 0.6.0 added spec.required_ruby_version = ">= 3.4" in its changelog.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devin-pr PRs created by Devin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants